package br.ufpe.cin.if680.lightmirror.core;

public class Matriz {
	double[][] matriz = new double[3][3];
	
	public Matriz(Vetor v0, Vetor v1, Vetor v2) {
		matriz[0][0] = v0.getX();
		matriz[0][1] = v0.getY();
		matriz[0][2] = v0.getZ();
		matriz[1][0] = v1.getX();
		matriz[1][1] = v1.getY();
		matriz[1][2] = v1.getZ();
		matriz[2][0] = v2.getX();
		matriz[2][1] = v2.getY();
		matriz[2][2] = v2.getZ();
	}
	
	/**
	 * Retorna o vetor v multiplicado por esta matriz.
	 * @param v
	 * @return
	 */
	public Vetor multiplicar(Vetor v){
		double x = matriz[0][0]*v.getX() + matriz[0][1]*v.getY() + matriz[0][2]*v.getZ();
		double y = matriz[1][0]*v.getX() + matriz[1][1]*v.getY() + matriz[1][2]*v.getZ();
		double z = matriz[2][0]*v.getX() + matriz[2][1]*v.getY() + matriz[2][2]*v.getZ();
		return new Vetor(x,y,z);
	}
}
